package com.shycloud.mido.music.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.util.Date;

/**
 * 曲目表
 */
@Data
@TableName(value = "mis_music")
public class MisMusic extends Model<MisMusic> {

	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;

	/**
	 * 所属曲集ID
	 */
	@TableField(value = "collection_id")
	private Integer collectionId;

	/**
	 * 曲目名称
	 */
	@TableField(value = "name")
	private String name;

	/** 曲目别名 */
	@TableField(value = "music_alias")
	private String musicAlias;

	/** 分享次数 */
	@TableField(value = "share_num")
	private Integer shareNum;

	/**
	 * 播放次数
	 */
	@TableField(value = "open_num")
	private Integer openNum;

	/**
	 * 浏览次数
	 */
	@TableField(value = "look_num")
	private Integer lookNum;

	/** 搜索次数 */
	@TableField(value = "search_num")
	private Integer searchNum;

	/** 弹奏次数 */
	@TableField(value = "play_num")
	private Integer playNum;

	/** 排序 */
	@TableField(value = "sort")
	private Integer sort;

	/** 卡拉钢琴状态（0-否 1-是（伴奏）） */
	@TableField(value = "kala_status")
	private String kalaStatus;

	/** 曲目状态（0：启用，1：禁用） */
	@TableField(value = "status")
	private String status;

	/**
	 * 文件解析状态（0：未解析，1：解析，2：失败）
	 */
	@TableField(value = "file_status")
	private String fileStatus;

	/**
	 * 弹奏的最低分
	 */
	@TableField(value = "lowest_score")
	private String lowestScore;

	/**
	 * 弹奏的最高分
	 */
	@TableField(value = "highest_score")
	private String highestScore;

	/**
	 * 是否置顶（0：未置顶，1：置顶）
	 */
	@TableField(value = "top_flag")
	private String topFlag;

	/**
	 * 曲目文件
	 */
	@TableField(value = "music_file")
	private String musicFile;

	/**
	 * 会员权限（0：无会员权限，1：有会员权限）
	 */
	@TableField(value = "member_authority")
	private String memberAuthority;

	/** OSS文件路径前缀（用于解析） */
	@TableField(value = "oss_file")
	private String ossFile;

	/** svg文件 */
	@TableField(value = "svg_file")
	private String svgFile;

	/**
	 * xml文件
	 */
	@TableField(value = "xml_file")
	private String xmlFile;

	/**
	 * json文件
	 */
	@TableField(value = "json_file")
	private String jsonFile;

	/** MV/MP4 文件 */
	@TableField(value = "mv_file")
	private String mvFile;

	/**
	 * MP3文件
	 */
	@TableField(value = "mp3_file")
	private String mp3File;

	/**
	 * 伴奏资源文件
	 */
	@TableField(value = "kala_file")
	private String kalaFile;

	/** 伴奏起始时间 */
	@TableField(value = "kala_start_time")
	private Integer kalaStartTime;

	/** 伴奏速度 */
	@TableField(value = "kala_speed")
	private Integer kalaSpeed;

	/** 更新人 */
	@TableField(value = "create_user")
	private String createUser;

	/**
	 * 更新时间
	 */
	@TableField(value = "create_time")
	private Date createTime;

	/**
	 * 更新人
	 */
	@TableField(value = "update_user")
	private String updateUser;

	/**
	 * 更新日期
	 */
	@TableField(value = "update_time")
	private Date updateTime;

	/**
	 * 逻辑删除（0：未删除，1：已删除）
	 */
	@TableField(value = "del_flag")
	private String delFlag;
	/** 伴奏 midi */
	@TableField(value = "bg_midi")
	private String bgmidi;
	/** 变音 midi */
	@TableField(value = "pc_midi")
	private String pcmidi;

	public static final String COL_ID = "id";

	public static final String COL_COLLECTION_ID = "collection_id";

	public static final String COL_NAME = "name";

	public static final String COL_MUSIC_ALIAS = "music_alias";

	public static final String COL_SHARE_NUM = "share_num";

	public static final String COL_OPEN_NUM = "open_num";

	public static final String COL_LOOK_NUM = "look_num";

	public static final String COL_PLAY_NUM = "play_num";

	public static final String COL_SORT = "sort";

	public static final String COL_KALA_STATUS = "kala_status";

	public static final String COL_STATUS = "status";

	public static final String COL_FILE_STATUS = "file_status";

	public static final String COL_LOWEST_SCORE = "lowest_score";

	public static final String COL_HIGHEST_SCORE = "highest_score";

	public static final String COL_TOP_FLAG = "top_flag";

	public static final String COL_MUSIC_FILE = "music_file";

	public static final String COL_MEMBER_AUTHORITY = "member_authority";

	public static final String COL_SVG_FILE = "svg_file";

	public static final String COL_XML_FILE = "xml_file";

	public static final String COL_JSON_FILE = "json_file";

	public static final String COL_MV_FILE = "mv_file";

	public static final String COL_MP3_FILE = "mp3_file";

	public static final String COL_KALA_FILE = "kala_file";

	public static final String COL_CREATE_USER = "create_user";

	public static final String COL_CREATE_TIME = "create_time";

	public static final String COL_UPDATE_USER = "update_user";

	public static final String COL_UPDATE_TIME = "update_time";

	public static final String COL_DEL_FLAG = "del_flag";
}